package com.stx.sanbu.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.stx.sanbu.entity.User;
import com.stx.sanbu.util.JdbcUtil;

/**
 * 查询用户信息的类
 * 
 * @author lele
 * 
 */
public class UserDao {
	/**
	 * 添加用户的方法
	 * 
	 * @param user
	 * @throws SQLException
	 */
	public boolean insertUser(User user) throws SQLException {
		// 创建连接的对象
		Connection con = JdbcUtil.getConnection();
		String sql = "insert into tbl_user(us_name,us_password) values (?,?)";
		// 通过connection对象获得"预编译语句"对象
		PreparedStatement ps = con.prepareStatement(sql);
		// 设置"预编译语句"对象中的参数(从1开始计数)
		ps.setString(1, user.getUs_name());
		ps.setString(2, user.getUs_password());
		// 执行sql操作
		int rs = ps.executeUpdate();
		// 释放数据库连接资源(切勿忘记)
		JdbcUtil.release();
		return rs == 1 ? true : false;
	}

	/**
	 * 验证登录的方法
	 * 
	 * @throws SQLException
	 */
	public boolean isLogin(User user) throws SQLException {
		// 创建连接的对象
		Connection con = JdbcUtil.getConnection();
		String sql = "select * from tbl_user where us_name=? and us_password=?";
		// 通过connection对象获得"预编译语句"对象
		PreparedStatement ps = con.prepareStatement(sql);
		// 设置"预编译语句"对象中的参数(从1开始计数)
		ps.setString(1, user.getUs_name());
		ps.setString(2, user.getUs_password());
		ResultSet rs = ps.executeQuery();
		User users = null;
		if (rs.next()) {
			users = new User();
			users.setUs_id(rs.getInt("us_id"));
			users.setUs_name(rs.getString("us_name"));
		}
		// 释放数据库连接资源(切勿忘记)
		JdbcUtil.release();
		return users != null ? true : false;
	}

	/**
	 * 查询用户名是否已经存在
	 * 
	 * @param user
	 * @return
	 * @throws SQLException
	 */
	public boolean isOk(User user) throws SQLException {
		// 创建连接的对象
		Connection con = JdbcUtil.getConnection();
		String sql = "select us_name from tbl_user where us_name=?";
		// 通过connection对象获得"预编译语句"对象
		PreparedStatement ps = con.prepareStatement(sql);
		// 设置"预编译语句"对象中的参数(从1开始计数)
		ps.setString(1, user.getUs_name());
		ResultSet rs = ps.executeQuery();
		User users = null;
		if (rs.next()) {
			users = new User();
			users.setUs_name(rs.getString("us_name"));
		}
		// 释放数据库连接资源(切勿忘记)
		JdbcUtil.release();
		return users != null ? false : true;
	}

	public static void main(String[] args) throws SQLException {
		User user = new User();
		UserDao dao = new UserDao();
		user.setUs_name("user");
		System.out.println(dao.isOk(user));
	}
}
